﻿using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Text;

namespace Baidu.Push.Api.Domain
{
    public class AndroidNotification : PushNotification
    {
        /// <summary>
        /// android客户端自定义通知样式，如果没有设置默认为0;
        /// </summary>
        [JsonProperty("notification_builder_id")]
        public int NotificationBuilderId { get; set; }

        /// <summary>
        /// 只有notification_builder_id为0时才有效，才需要设置，如果notification_builder_id为0则可以设置通知的基本样式包括(响铃：0x04;振动：0x02;可清除：0x01;),这是一个flag整形，每一位代表一种样式;
        /// </summary>
        [JsonProperty("notification_basic_style")]
        public int NotificationBasicStyle { get; set; }

        /// <summary>
        /// 点击通知后的行为(打开Url：1; 自定义行为：2：其它值则默认打开应用;);
        /// </summary>
        [JsonProperty("open_type")]
        public int OpenType { get; set; }

        /// <summary>
        /// 只有open_type为1时才有效，才需要设置，如果open_type为1则可以设置需要打开的Url地址;
        /// </summary>
        [JsonProperty("url")]
        public string Url { get; set; }

        /// <summary>
        /// 只有open_type为1时才有效，才需要设置,(需要请求用户授权：1；默认直接打开：0), 如果open_type为1则可以设置打开的Url地址时是否请求用户授权;
        /// </summary>
        [JsonProperty("user_confirm")]
        public int UserConfirm { get; set; }

        /// <summary>
        /// 只有open_type为2时才有效，才需要设置, 如果open_type为2则可以设置自定义打开行为(具体参考管理控制台文档);
        /// </summary>
        [JsonProperty("pkg_content")]
        public string PkgContent { get; set; }

        /// <summary>
        /// 自定义内容，键值对，Json对象形式(可选)；在android客户端，这些键值对将以Intent中的extra进行传递。
        /// </summary>
        [JsonProperty("custom_content")]
        public object CustomContent { get; set; }
    }
}
